import os

from langchain_community.chat_models import ChatZhipuAI
from langchain_community.llms import Ollama
from langchain_community.llms.chatglm import ChatGLM
from langchain_openai import ChatOpenAI

#llm = Ollama(model="llama3", base_url="http://localhost:11434")
#llm = ChatOpenAI(model="gpt-3.5-turbo", openai_api_key=os.environ["OPENAI_API_KEY_ZHIHU"],openai_api_base=os.environ["OPENAI_API_BASE_ZHIHU"])


os.environ["ZHIPUAI_API_KEY"] = "aad7a272bbcbf59acf6032c6c85530ef.cABkzb0hCMx2iiK8"
llm = ChatZhipuAI(
    model="glm-4",
    temperature=0.5,
)


def chat_with_ollama(comment: str):
    product_description = """
    我们公司的产品是指纹浏览器，功能包括：
    多账号管理:
    ClonBrowser能够批量管理账号，包括批量导入账号，导出账号，创建任务等。

    浏览器指纹:
    ClonBrowser多开的浏览器设定了独立的指纹，包括时区、默认语言、User Agent、字体、分辨率等。您可以试用系统提供的指纹信息，也能自定义指纹信息。

    多开浏览器:
    ClonBrowser能够同时打开多个浏览器，这些浏览器环境彼此独立，能够防止相互关联。

    自动化操作:
    ClonBrowser提供了自动化操作，能够解放人力，提高您的工作效率。

    团队协作功能:
    ClonBrowser对于团队用户提供了团队协作功能，我们支持多个用户同时协作试用系统。您能够按分组分类管理系统内的账号，并且对不同分组授权给不同子用户；您也能对系统的功能做权限管理，将不同功能授权给不同的用户组。

    主流代理支持:
    ClonBrowser集成市面上主流网络服务商，包括支持IPv6，主要集成的代理类型有luminati、http、socks5，其中对于luminati，Oxylabs，IPHTML动态住宅代理为您自动匹配最邻近
    """
    article_title = """2个外贸开发信实战案例全复盘，如何用邮件搞定外贸客户"""
    article_description = """外贸开发信教程"""
    # construction="""请问：这个发表评论的用户是否会成为我们公司产品的潜在客户？请直接回答”是“或”否“，并用中文给出判断的理由。"""
    construction = """请问：这个发表评论的用户是否会成为我们公司产品的潜在客户？请只回答”是“或”否“，不用回答其它的内容。"""
    query = f"""
    请用中文与我进行交流
    产品描述：{product_description}
    自媒体视频标题：{article_title}
    自媒体视频内容：{article_description}
    用户对自媒体视频内容的评论：{comment}
    {construction}
    """
    # response = ''
    # for chunks in llm.stream(query):
    #     # print(chunks, end="", flush=True)
    #     # 拼接结果为完整的内容
    #     response += chunks
    # return response
    response = llm.invoke(query)
    return response
if __name__ == '__main__':
    print(chat_with_ollama("这个用户对自媒体视频内容非常感兴趣，请帮我生成一个开发信"))